Data processing systems having electronic data handling capability typically utilize storage devices, usually referred to as memories for holding items of information employed in or manipulated by the data handling system. A memory usually comprises a plurality of addressable storage locations, each adapted to store an item of data or word, in the form of a plurality of binary bits. Each word location has an address which defines its position in the memory. Access to a location for the purposes of storing a word therein or reading out a word previously stored is gained by specifying the proper address along with a command or instruction specifying the operation to be performed at that specific address, either a write operation or a read operation.
Most memory systems employ an ordered arrangement of address numbers to identify the individual addressable location, although the specific form of the address and the manner of storing and retrieving words in a memory may vary with the particular type of memory utilized. Each memory location has associated therewith a different address made up of a unique combination of the total number of address bits. Electronic data processing systems employ complex manipulations of data and instruction words stored in memory which frequently involve modification of addresses by indexing and indirect addressing and transfers of words from location to location within the memory. Accidental destruction of data or instruction words through program errors, operator's errors or various machine errors, are possible in such complex memory systems.
Various systems have been developed to ensure the protection of data stored in memory storage devices. One such system prevents alteration of data wherein a key associated with the program or routine making the access is compared with a key associated with a particular area of memory being accessed. Such a system is described in U.S. Pat. No. 3,576,544 issued Apr. 27, 1971 to Cordero, Jr. et al and entitled "Storage Protection System". Additional systems have been developed to protect blocks of storage from access by two or more independent programs operating at the same time. Such systems are described in U.S. Pat. No. 3,328,765 issued to Amdahl et al on June 27, 1967 and entitled "Memory Protection System" and U.S. Pat. No. 3,264,615 issued to Case et al on Aug. 2, 1966 and entitled "Memory Protection System". Such systems, however, involve complex electronic circuitry and only protect designated areas of memory rather than individual addressable storage locations of memory.
A need has thus arisen for a memory protect device for an electronic data handling apparatus whereby addressable storage locations in the apparatus memory are protected from inadvertent use. Such a memory protect device must, when desired, operate to protect each addressable storage location to enable only one write operation to occur. A need has further arisen for a memory protect device controllable by a processor independent of operator control.